system.beforeEvents.startup.subscribe(eventData => {
  eventData.blockComponentRegistry.registerCustomComponent('brs:inkpipesend', {
    onPlace(e) {
      const { block } = e;
      const north = block.north();
      const east = block.east();
      const south = block.south();
      const west = block.west();
      const above = block.above();
      const below = block.below();
      const excludeBlocksArray = [
        'minecraft:water',
        'minecraft:flowing_water',
        'brs:batimcycle_toilet',
        'brs:batimcycle_sofa',
        'brs:batimcycle_wall_papers',
        'brs:batimcycle_wallsupport',
        'brs:batimcycle_piano',
        'brs:batimcycle_drum',
        'brs:batimcycle_lamp',
        'brs:batimcycle_mainpower_lever',
        'brs:batimcycle_mainpowersign',
        'brs:batimcycle_phonograph',
        'brs:batimcycle_posters',
        'brs:batimcycle_retrodesk',
        'brs:batimcycle_banjo',
        'brs:batimcycle_chest',
        'brs:batimcycle_jdssign',
        'brs:batimcycle_musicdepartmentsign',
        'brs:batimcycle_musicradio',
        'brs:batimcycle_plant',
        'brs:batimcycle_metaltrashbin',
        'brs:batimcycle_projector',
        'brs:batimcycle_projectorreel',
        'brs:batimcycle_projectorscreen',
        'brs:batimcycle_stool',
        'brs:batimcycle_tclus',
        'brs:batimcycle_dreamscometrue',
        'brs:batimcycle_wln',
        'brs:batimcycle_wallspeaker',
        'brs:batimcycle_toolkit',
        'brs:batimcycle_coffin',
        'brs:batimcycle_lyingcoffin',
        'brs:batimcycle_location_poster',
        'brs:batimcycle_inkoutput_poster',
        'brs:batimcycle_bassfiddle',
        'brs:batimcycle_breakroompictures',
        'brs:batimcycle_ceilinglamp',
        'brs:batimcycle_baconsoup_block',
        'brs:batimcycle_banjo',
        'brs:batimcycle_woodenpillar',
        'brs:batimcycle_musicdisc',
        'brs:batimcycle_pipeorgan',
        'brs:batimcycle_paperbin',
        'brs:batimcycle_olddesk',
        'brs:batimcycle_dresser',
        'brs:batimcycle_chair',
        'brs:batimcycle_bendyclock',
        'brs:batimcycle_floor_papers',
        'brs:batimcycle_joeybook',
        'brs:batimcycle_inkwell',
        'brs:batimcycle_fence',
        'brs:batimcycle_gear',
        'brs:batimcycle_doorframe',
        'brs:batimcycle_doorframe_up',
        'brs:batimcycle_doorframe_bot',
        'brs:batimcycle_bendyplushie',
        'brs:batimcycle_borisplushie',
        'brs:batimcycle_boris_clone',
        'brs:batimcycle_drycellgenerator',
        'brs:batimcycle_punchcardmachine',
        'brs:batimcycle_shelf',
        'brs:batimcycle_bendycutout',
        'brs:batimcycle_boriscutout',
        'brs:batimcycle_wanderingsincutout',
        'brs:batimcycle_aliceangelcutout',
        'brs:batimcycle_inkbucket',
        'brs:batimcycle_preasurepanel',
        'brs:batimcycle_wallshelf',
        'brs:batimcycle_wallspeaker',
        'brs:batimcycle_taperecorder',
        'brs:batimcycle_smalltable',
        '',
        '',
        '',
        '',
        '',
        '',
        '',
        '',
        '',
        '',
        '',
        '',
        '',
        '',
        '',
        '',
        '',
        '',
        '',
        '',
        '',
        '',
        '',
        '',
        '',
        '',
        '',
        '',
        'brs:batimcycle_walltiles',
        'brs:batimcycle_officewalltiles',
        'brs:batimcycle_middlewall',
        'brs:batimcycle_abovewall',
        'brs:batimcycle_bottomwall',
        'brs:batimcycle_bathroom_wallup',
        'brs:batimcycle_bathroom_walldown',
        'brs:batimcycle_bathroom_middle',
        'minecraft:air',
        'minecraft:wooden_door',
        'minecraft:iron_door',
        'minecraft:acacia_door',
        'minecraft:birch_door',
        'minecraft:crimson_door',
        'minecraft:dark_oak_door',
        'minecraft:jungle_door',
        'minecraft:short_grass',
        'minecraft:poppy',
        'minecraft:tall_grass',
        'minecraft:fern',
        'minecraft:pink_tulip',
        'minecraft:white_tulip',
        'minecraft:orange_tulip',
        'minecraft:red_tulip',
        'minecraft:allium',
        'minecraft:blue_orchid',
        'minecraft:lily_of_the_valley',
        'minecraft:sunflower',
        'minecraft:pink_petals',
        'minecraft:pitcher_plant',
        'minecraft:wither_rose',
        'minecraft:torchflower',
        'minecraft:deadbush',
        'minecraft:warped_roots',
        'minecraft:crimson_roots',
        'minecraft:twisting_vines',
        'minecraft:azalea',
        'minecraft:flowering_azalea',
        'minecraft:big_dripleaf',
        'minecraft:red_mushroom',
        'minecraft:birch_leaves',
        'minecraft:soul_campfire',
        'minecraft:campfire',
        'minecraft:lantern',
        'minecraft:soul_lantern',
        'minecraft:soul_torch',
        'minecraft:torch',
        'minecraft:reeds',
        'minecraft:flower_pot',
        'minecraft:sea_pickle',
        'minecraft:standing_sign',
        'minecraft:wall_sign',
        'minecraft:spruce_standing_sign',
        'minecraft:spruce_wall_sign',
        'minecraft:acacia_standing_sign',
        'minecraft:acacia_wall_sign',
        'minecraft:jungle_standing_sign',
        'minecraft:jungle_wall_sign',
        'minecraft:birch_standing_sign',
        'minecraft:birch_wall_sign',
        'minecraft:darkoak_standing_sign',
        'minecraft:darkoak_wall_sign',
        'minecraft:cherry_standing_sign',
        'minecraft:cherry_wall_sign',
        'minecraft:birch_standing_sign',
        'minecraft:birch_wall_sign',
        'minecraft:mangrove_standing_sign',
        'minecraft:mangrove_wall_sign',
        'minecraft:bamboo_standing_sign',
        'minecraft:bamboo_wall_sign',
        'minecraft:warped_standing_sign',
        'minecraft:warped_wall_sign',
        'minecraft:crimson_standing_sign',
        'minecraft:crimson_wall_sign',
        'minecraft:brown_mushroom',
        'minecraft:frame',
        'minecraft:flowing_water',
        'minecraft:waterlily',
        'minecraft:flowing_lava',
        'minecraft:chest',
        'minecraft:ender_chest',
        'minecraft:trapped_chest',
        'minecraft:barrel',
        'minecraft:undyed_shulker_box',
        'minecraft:white_shulker_box',
        'minecraft:orange_shulker_box',
        'minecraft:magenta_shulker_box',
        'minecraft:light_blue_shulker_box',
        'minecraft:yellow_shulker_box',
        'minecraft:light_gray_shulker_box',
        'minecraft:gray_shulker_box',
        'minecraft:blue_shulker_box',
        'minecraft:purple_shulker_box',
        'minecraft:pink_shulker_box',
        'minecraft:red_shulker_box',
        'minecraft:black_shulker_box',
        'minecraft:brown_shulker_box',
        'minecraft:green_shulker_box',
        'minecraft:black_shulker_box',
        'minecraft:lime_shulker_box',
        'minecraft:crimson_fungus',
        'minecraft:warped_fungus',
        'minecraft:oak_leaves',
        'minecraft:spruce_leaves',
        'minecraft:cherry_leaves',
        'minecraft:jungle_leaves',
        'minecraft:dark_oak_leaves',
        'minecraft:acacia_leaves',
        'minecraft:mangrove_leaves',
        'minecraft:azalea_leaves',
        'minecraft:large_fern',
        'minecraft:yellow_flower',
        'minecraft:azure_bluet',
        'minecraft:cornflower',
        'minecraft:oxeye_daisy',
        'minecraft:rose_bush',
        'minecraft:peony',
        'minecraft:lilac',
        'minecraft:oak_door',
        'minecraft:spruce_door',
        'minecraft:warped_door',
        'minecraft:mangrove_door',
        'minecraft:cherry_door',
        'minecraft:bamboo_door',
        'minecraft:iron_trapdoor',
        'minecraft:acacia_trapdoor',
        'minecraft:birch_trapdoor',
        'minecraft:crimson_trapdoor',
        'minecraft:dark_oak_trapdoor',
        'minecraft:jungle_trapdoor',
        'minecraft:oak_trapdoor',
        'minecraft:spruce_trapdoor',
        'minecraft:warped_trapdoor',
        'minecraft:mangrove_trapdoor',
        'minecraft:cherry_trapdoor',
        'minecraft:bamboo_trapdoor',
        'minecraft:trapdoor',
        'minecraft:glass',
        'minecraft:glass_pane'
      ];
      const northConnects = !excludeBlocksArray.includes(north?.typeId);
      const eastConnects = !excludeBlocksArray.includes(east?.typeId);
      const southConnects = !excludeBlocksArray.includes(south?.typeId);
      const westConnects = !excludeBlocksArray.includes(west?.typeId);
      const aboveConnects = !excludeBlocksArray.includes(above?.typeId);
      const belowConnects = !excludeBlocksArray.includes(below?.typeId);
      if (above?.typeId != "brs:batimcycle_connectable_inkpipe")  block.setPermutation(block.permutation.withState('brs:aboveend', aboveConnects ? 1 : 0));

      if (below?.typeId != "brs:batimcycle_connectable_inkpipe") block.setPermutation(block.permutation.withState('brs:belowend', belowConnects ? 1 : 0));

      if (east?.typeId != "brs:batimcycle_connectable_inkpipe") block.setPermutation(block.permutation.withState('brs:eastend', eastConnects ? 1 : 0));

      if (west?.typeId != "brs:batimcycle_connectable_inkpipe") block.setPermutation(block.permutation.withState('brs:westend', westConnects ? 1 : 0));

      if (north?.typeId != "brs:batimcycle_connectable_inkpipe") block.setPermutation(block.permutation.withState('brs:northend', northConnects ? 1 : 0));

      if (south?.typeId != "brs:batimcycle_connectable_inkpipe") block.setPermutation(block.permutation.withState('brs:southend', southConnects ? 1 : 0));


    },
    onPlayerBreak(e) {
      
    }
  });
});




